#!/usr/bin/env python
# -*-coding:UTF-8 -*-
'''
@Project ：爬虫-波波老师
@File：20-验证码.py
@Author ：文非
@Date：2021/3/1215:10
@Require： 古诗文网站的验证码模拟登陆 --- 识别验证码图片中的数据 用于模拟登陆操作
'''
# https://www.chaojiying.com/price
# 超级鹰 ： 注册 登陆
# 验证码 - 识别古诗文网登陆页面中的验证码
    # 将验证码图片进行本地下载
    # 调用平台提供的示例代码进行图片数据识别

import requests
from lxml import etree
from chaojiying import Chaojiying_Client
if __name__=="__main__":

    def define(username, pwd, itemid):
        """验证码识别"""
        chaojiying = Chaojiying_Client(username, pwd, itemid)  # 用户中心>>软件ID 生成一个替换 96001
        chaojiying = Chaojiying_Client('zwwlx1013', 'zwwlx1013', '913953')  # 用户中心>>软件ID 生成一个替换 96001
        im = open('./code.jpg', 'rb').read()  # 本地图片文件路径 来替换 a.jpg 有时WIN系统须要//
        define_res = chaojiying.PostPic(im, 1902)['pic_str']
        return define_res
    # UA伪装
    headers = {
        'User-Agent': "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
    }
    # 指定url
    login_url = "https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx"
    # 发送get请求 获取的响应的数据
    login_page = requests.get(url=login_url, headers=headers).text
    # 示例化etree对象
    tree = etree.HTML(login_page)
    # xpath数据解析下载也验证码图片
    define_src = tree.xpath('//div[@class="mainreg2"]//div[4]/img/@src')[0]
    print(define_src)
    define_url = "https://so.gushiwen.cn"+ define_src
    define_img = requests.get(url=define_url, headers=headers).content
    # 使用超级鹰打码平台识别验证码图片
    # 1. 保存验证码图片到本地
    with open("./code.jpg","wb")as fp:
        fp.write(define_img)
    # 2. 调用打码平台的示例程序进行验证码图片的识别
    username='zwwlx1013'
    pwd ='zwwlx1013'
    itemid ='913953'
    result = define(username,pwd,itemid)
    print(result)






